/******************************************************
Cours:   LOG121
Session: A2013
Groupe:  
Projet: Laboratoire #3
etudiant(e)s: Simon Castro
			  Fredy Alexander 
			  Renaud Vincent
              
              
Professeur : 
Nom du fichier: CalculateurScore.java
Date cree: 2013-11-12
Date dern. modif. 2013-11-11
*******************************************************
Historique des modifications
*******************************************************
2013-10-20 Version 1.0
*******************************************************/ 

package cadricielJeuDe;

import java.util.ArrayList;

/**
 * Defini l'interface d'une strategie servant a calculer le score
 * des joueurs apres un tour. Utilisation: declarer une classe implementant 
 * cette interface et definir la methode calculScoreTour selon les regles du 
 * jeu que vous etes en train de creer. 
 * @author Simon
 *
 */
public interface CalculateurScore {
	
	/**
	 * cumule le score du joueur actuel apres une lancee de des 
	 * (selon les regles du jeu) et decide s'il faut passer la main au prochain 
	 * joueur ou non.
	 * 
	 * @param tour
	 * @param listeValeurs
	 */
	public Object calculScoreTour(int tour, ArrayList<Integer> listeValeurs);
	
	/**
	 * La methode calculerLeVainqueur() retourne les joueurs tries selon un 
	 * ordre decroissant de scores.
	 * 
	 * @param cj
	 * @return une nouvelle CollectionJoueurs triee
	 */
	public CollectionJoueurs calculerLeVainqueur(CollectionJoueurs cj);

}
